package com.rzico.basics.mapper;

import com.rzico.base.BaseMapper;
import com.rzico.basics.entity.TurntableRecord;
import com.rzico.basics.model.TurntableRecordVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * <pre>
 *   营销活动映射类
 * </pre>
 *
 * @author Rzico Boot
 * @version 1.0
 */
@Mapper
public interface TurntableRecordMapper extends BaseMapper<TurntableRecord, String> {

    List<TurntableRecord> selectList(Map<String, Object> params);

    /**
     * 根据会员ID 查询 对应的大转盘中奖记录
     *
     * @param memberId    会员ID
     * @param turntableId 大转盘ID
     */
    List<TurntableRecord> findByMemberId(Long memberId, Long turntableId);

    /**
     * 查询 周期内 抽奖的次数
     *
     * @param turntableId 大转盘ID
     * @param memberId    会员ID
     * @param day         天
     * @param start       开始
     * @param end         结束
     */
    int findNumbyMemberId(Long turntableId, Long memberId, int day, int start, int end);

    /**
     * 查询 当前是否存在未领取的奖品
     *
     * @param turntableId 大转盘ID
     * @param memberId    会员ID
     */
    TurntableRecord findByisDraw(Long turntableId, Long memberId);

    /**
     * 获取 当前活动最新的二十条记录
     */
    List<TurntableRecordVo> findCurrentRecord(Long turntableId);

}
